Method and apparatus for determining a reply statement

ABSTRACT

Aspects of the present disclosure provide a method and an apparatus for determining a reply to a statement. The apparatus includes processing circuitry determining, based on a preset lexicon, potential reply statements in response to a statement, and first matching probabilities respectively corresponding to the potential reply statements. A first matching probability indicates a probability of the corresponding potential reply statement being output in response to the statement according to the preset lexicon. The processing circuitry also obtains second matching probabilities respectively corresponding to the potential reply statements. A second matching probability indicates a probability of words in the statement being output in response to the corresponding potential reply statement according to the preset lexicon. According to a combination of the first matching probabilities and the second matching probabilities, the processing circuitry selects one of the potential reply statements as a target reply statement.

RELATED APPLICATION

This application is a continuation of International Application No.PCT/CN2017/109769, filed on Nov. 07, 2017, which claims priority toChinese Patent Application No. 201611161666.0, filed with the ChinesePatent Office on Dec. 15, 2016, and entitled “Answer StatementDetermining Method and Apparatus”. The entire disclosures of the priorapplications are hereby incorporated by reference in their entirety.

FIELD OF THE TECHNOLOGY

The present disclosure relates to the field of natural languageprocessing, and in particular, to a reply statement determining method,and a server.

BACKGROUND OF THE DISCLOSURE

A chatterbot is an important application in the field of naturallanguage processing. A chatterbot may return a corresponding replystatement according to a statement entered by a user, to implement humancomputer interaction. The user may enter any statement, for example, theuser may enter “It is so hot lately”, and the chatterbot may return“True indeed” as a reply statement.

For example, currently, a sequence to sequence (sequence2sequence) modelmay be used to implement a function of a chatterbot, to determine areply statement. The sequence2sequence model includes a coder and adecoder. The coder and the decoder can both be obtained by training arecurrent neural network by using a large quantity of sample statementsof natural languages. During human computer interaction, the coder mayencode a statement entered by a user, into a statement vector, and theninput the statement vector into the decoder; and the decoder performsmatching between the statement vector and each word in a lexicon, and ina first matching process, calculates a matching probability between eachword in the lexicon and the statement vector, to obtain a predictionword having a highest matching probability in prediction words. In eachof subsequent matching processes, all obtained prediction words havinghighest matching probabilities and the statement vector are used as aninput during current matching, and a matching probability between eachword in the lexicon and the statement vector is calculated. Next, aprediction word having a highest matching probability in currentprediction words is obtained, and the process does not end until anobtained prediction word having a highest matching probability is astatement terminator. A statement is made up of each prediction wordhaving a highest matching probability, and used as a to-be-returnedreply statement.

During an actual conversation between people, when giving a reply, arespondent needs to consider content said by a questioner; and when thequestioner speaks, the questioner needs to consider an identity of therespondent and content that the respondent may reply. That is, one pairof a question A and a reply statement B corresponds to one linguisticcontext. For the question A, the reply statement B is a reply that bestmeets the linguistic context, and for the reply statement B, thequestion A is a question that best meets the linguistic context.However, during current human computer interaction, the foregoing dialogeffect cannot be achieved. Consequently, intelligence of human computerinteraction is relatively poor.

SUMMARY

Aspects of the present disclosure provide a method and an apparatus fordetermining a reply to a statement.

In some examples, the apparatus includes memory circuitry and processingcircuitry. The memory circuitry stores a preset lexicon. The processingcircuitry determines, based on the preset lexicon in the memorycircuitry, a plurality of potential reply statements in response to astatement, and a plurality of first matching probabilities respectivelycorresponding to the plurality of potential reply statements. A firstmatching probability in the plurality of first matching probabilitiesindicates a probability of the corresponding potential reply statementbeing output in response to the statement according to the presetlexicon. The processing circuitry also obtains a plurality of secondmatching probabilities respectively corresponding to the plurality ofpotential reply statements. A second matching probability in the secondmatching probabilities indicates a probability of words in the statementbeing output in response to the corresponding potential reply statementaccording to the preset lexicon. According to a combination of the firstmatching probabilities and the second matching probabilities, theprocessing circuitry thus selects one of the potential reply statementsas a target reply statement.

According to an aspect of the disclosure, the processing circuitrymatches the statement to words in the preset lexicon to determine aplurality of matching words with the first matching probabilities. Basedon the plurality of matching words, the processing circuitry initializesintermediate statements. Then the processing circuitry repetitivelymatches an intermediate statement to the words in the preset lexicon todetermine additional intermediate words for continuously adding into theintermediate statement to grow the intermediate statement until astatement terminator is added. When the statement terminator is addedinto the intermediate statement, the intermediate statement is finalizedby the processing circuitry to a potential reply statement.

According to an aspect of the disclosure, the processing circuit matchesthe intermediate statement to the words in the preset lexicon todetermine matching words with first intermediate matching probabilities.Then the processing circuitry selects a subset of the matching words toadd into the intermediate statement to respectively form potentialintermediate statements for a next matching, according to a sortedsequence of the first intermediate matching probabilities.

In some embodiments, the processing circuitry further matches thepotential intermediate statements having respective first intermediatematching probabilities to the words in the preset lexicon to determinerespective second intermediate matching probabilities for matchingexisting words in the intermediate statement. Then the processingcircuitry associates respective sums of the first intermediate matchingprobabilities and the second intermediate matching probabilities to thepotential intermediate statements, and selects a subset of the potentialintermediate statements for the next matching, according to a sortedsequence of the sums.

According to an aspect of the disclosure, the processing circuitrymatches the statement to the words in the preset lexicon to determinepotential matching words with first intermediate matching probabilities,and sorts the first intermediate matching probabilities in a sequencefrom high to low. Then the processing circuitry selects the plurality ofmatching words from the potential matching works according to the sortedsequence.

In some embodiments, the processing circuitry further matches thepotential matching words to the words in the preset lexicon to determinesecond intermediate matching probabilities for matching existing wordsin the statement. Then the processing circuitry associates respectivesums of first intermediate matching probabilities and secondintermediate matching probabilities to the potential matching words, andselects a subset of the potential matching words as the plurality ofmatching words according to the sorted sequence.

According to an aspect of the disclosure, the processing circuitryperforms matching operations using a preset neural network to determinethe first matching probabilities and the second matching probabilities.

In some embodiments, the apparatus further includes multiple graphicsprocessing units (GPUs). The multiple GPUs calculate gradients based onsample inputs to a neural network model and outputs of the neuralnetwork model in response to the sample inputs. The processing circuitrydetermines an average of the gradients calculated by the GPUs andadjusts parameters of nodes in the neural network model according to theaverage of the gradients.

Aspects of the disclosure also provide a non-transitorycomputer-readable storage medium storing instructions which whenexecuted by a computer cause the computer to perform the method fordetermining a reply statement.

BRIEF DESCRIPTION OF THE DRAWINGS

To describe the technical solutions of the embodiments of the presentdisclosure more clearly, the following briefly introduces theaccompanying drawings for describing the embodiments. The accompanyingdrawings in the following description show merely some embodiments ofthe present disclosure, and a person of ordinary skill in the art maystill derive other drawings from these accompanying drawings.

FIG. 1 is a flowchart of a reply statement determining method accordingto an embodiment of the present disclosure;

FIG. 2A is a principle diagram of training a neural network according toan embodiment of the present disclosure;

FIG. 2B is an example diagram of a reply statement determining processaccording to an embodiment of the present disclosure;

FIG. 3 is a block diagram of a reply statement determining apparatusaccording to an embodiment of the present disclosure;

FIG. 4 is a schematic structural diagram of a terminal according to anembodiment of the present disclosure;

FIG. 5 is a block diagram of a reply statement determining apparatusaccording to an embodiment of the present disclosure;

FIG. 6 is a diagram of an implementation environment according to anembodiment of the present disclosure; and

FIG. 7 is a flowchart of a specific implementation method of a replystatement determining method according to an embodiment of the presentdisclosure.

DESCRIPTION OF EMBODIMENTS

To make the objectives, technical solutions, and advantages of thepresent disclosure clearer, the following further describesimplementations of the present disclosure in detail with reference tothe accompanying drawings.

An application scenario of a reply statement determining method providedin an embodiment may be a human computer interaction scenario, forexample, a chat between a human and a computer, or may be an intelligentquestion-replying system, for example, an intelligent customer servicesystem in the verticality field. This is not limited in this embodiment.When the application scenario is an intelligent question-replyingsystem, for a question asked by a user, multiple target reply statementsmay be determined. In this case, one target reply statement mayrepresent one reply.

FIG. 1 is a flowchart of a reply statement determining method accordingto an embodiment of the present disclosure. Referring to FIG. 1, aprocedure of the method provided in this embodiment of the presentdisclosure includes the following steps.

101: A server obtains a to-be-processed statement.

The to-be-processed statement may be a sentence, or may be a word or aterm, or the like. A language corresponding to the to-be-processedstatement may be any one of Chinese, English, French, and the like.Content of the to-be-processed statement and a language to which theto-be-processed statement belongs are not limited in this embodiment.

In this embodiment, a terminal may provide a human computer interactioninterface. In the human computer interaction interface, a user may enterany content, for example, any word or statement, in an input box and thecontent may be in a form of a text, an image, a voice, or the like. Thisis not limited in this embodiment. After detecting an input confirmationoperation, the terminal obtains the content entered by the user in theinput box, as a to-be-processed statement. Subsequently, the terminalmay send the to-be-processed statement to a server by using a network,so that the server can obtain the to-be-processed statement, and performthe following step 102 to step 107, to determine a target replystatement of the to-be-processed statement.

When the entered content is an image, text content in the image may beobtained through image recognition, as a to-be-processed statement. Forexample, the text content may be text information displayed in theimage, or may be text information corresponding to a scene described bythe image. When the entered content is a voice, text information of thevoice may be obtained through speech recognition, as a to-be-processedstatement.

It is noted that, when the terminal can independently perform humancomputer interaction, step 101 may be replaced with that a terminalobtains a to-be-processed statement, and after obtaining theto-be-processed statement, the terminal may locally perform thefollowing step 102 to step 107, to determine a target reply statement ofthe to-be-processed statement, and output the target reply statement inthe human computer interaction interface, to complete a human computerinteraction process. In this embodiment, an example in which the serveris an executing body is used for description, but the executing body isnot limited.

Further, the target reply statement may be output in different manners,that is, regardless of a content form of the to-be-processed statement,the target reply statement is output in a form of a text, orcorresponding target reply statements may be output according todifferent content forms of the to-be-processed statement. For example,when the content of the to-be-processed statement is in a form of atext, the output target reply statement is also in a form of a text; orwhen the content of the to-be-processed statement is in a form of animage, the output target reply statement is in a form of an image; orwhen the content of the to-be-processed statement is in a form of avoice, the output target reply statement is in a form of a voice.Certainly, if in an actual statement processing process, text basedprocessing is performed, after the target reply statement in a form of atext is obtained, the target reply statement in a form of a text may beconverted into an actually required form according to an actualrequirement.

102: The server performs matching between the obtained to-be-processedstatement and multiple words in a preset lexicon, where the matchingprocess includes the following step 103 to step 107.

The preset lexicon is used to store multiple words involved in a naturallanguage. A quantity of the multiple words may be a hundred thousand oreven a million, or the like. A word in the preset lexicon may be asingle word or a phrase, which is collectively referred to as a word inthis embodiment. For example, a word may be “eat”, or “something”. Inaddition, the preset lexicon may further include symbols, for example,various punctuation marks, emoticons, or statement terminators.

In this embodiment, the server performs, by using a preset neuralnetwork, the process of performing matching between the obtainedto-be-processed statement and the multiple words in the preset lexicon.In the matching process, the server first converts the to-be-processedstatement into a corresponding statement vector. The conversion processmay be: performing word segmentation processing on the to-be-processedstatement, to obtain multiple segmented words; encoding each segmentedword into a word vector according to a preset coding scheme, to obtainmultiple word vectors; and then, converting the multiple word vectorsinto the statement vector according to a preset conversion function.Subsequently, matching is performed according to the statement vector.It is noted that, statement and word processing processes involved inthis embodiment are all processes of processing statement vectorscorresponding to statements or word vectors corresponding to words. Thepreset coding scheme and the preset conversion function may be preset ormodified. This is not limited in this embodiment.

There is a one-to-one mapping relationship between nodes in the presetneural network and the words stored in the preset lexicon. For example,when the preset lexicon includes 200,000 words, an intermediate matchingoutput layer of the preset neural network may include 200,000 nodes.

The preset neural network may be a time recursive neural network (LongShort-Term Memory, LSTM). More layers of the neural network indicate amore accurate output result, but a computing speed is lowered.Therefore, to improve the computing speed while satisfying outputaccuracy, in this embodiment, a four-layer LSTM is used. Certainly, asprocessing performance of a device is improved, an LSTM having more thanfour layers may be used.

In this embodiment, before the to-be-processed statement entered by theuser is replied by using the preset neural network, the preset neuralnetwork needs to be trained by using a large quantity of sample data, tooptimize a parameter of each node in the preset neural network.Specifically, multiple graphics processing units (GPU) may be deployedon the server, and the preset neural network is deployed on each GPU.The server may divide a large quantity of sample data into multiplecorresponding sample data sets, and allocate the multiple sample datasets respectively to the multiple GPUs for processing, to implementparallel processing on the sample data, thereby greatly improvingefficiency of training the preset neural network, that is, improvingefficiency of optimizing the parameter corresponding to each node in thepreset neural network. It is noted that, one piece of sample datainvolved in this embodiment is a pair of natural language dialogs.

FIG. 2A is a principle diagram of training the preset neural network. Asshown in FIG. 2A, a CPU and multiple GPUs are included. The CPU storesthe parameter corresponding to each node in the preset neural network,and the preset neural network (model) is deployed on each GPU.Specifically, a parameter optimization process may be as follows: EachGPU processes input sample data by using the preset neural network,determines a difference (loss) between an output and an input accordingto a preset target function, and calculates a gradient of the differenceaccording to a preset gradient function; and each GPU sends thecalculated the gradient to the CPU, and the CPU calculates an averagegradient of multiple received gradients. Next, the server adjusts,according to the average gradient, the parameter of the node in thepreset neural network configured for the multiple GPUs. The adjustmentprocess may be as follows: The CPU updates the stored parameter of thenode in the preset neural network according to the average gradient, andthen sends the updated parameter of the node in the preset neuralnetwork to each GPU, so that the GPU adjusts a parameter of theconfigured preset neural network. For any node, a parameter of the nodeincludes a location of the node in the preset neural network and aparameter value. For any node, an updated parameter value of the node isequal to a difference between a parameter value of the node before theupdate and the average gradient. The preset target function and thepreset gradient function may be set or modified according to an actualrequirement. This is not limited in this embodiment.

It is noted that, in this embodiment, each GPU may process one sampledata set all at once. For example, the sample data set may include 60pairs of natural language dialogs, and each GPU may use the 60 pairs ofnatural language dialogs as an input of the preset neural network; andcorrespondingly, a calculated gradient is an overall gradient of thesample data set, thereby improving a speed of processing sample data.

It is noted that, in FIG. 2A, two GPUs are used as an example fordescription; certainly, a quantity of GPUs may be 3, 4, or the like.This is not limited in this embodiment. FIG. 2A shows a manner oftraining the preset neural network through data parallelization. Inanother embodiment, the preset neural network may be trained throughmodel parallelization. An example in which the preset neural network isa four-layer LSTM is used. The layers of the preset neural network maybe sequentially configured on each of four different GPUs according to asequence of an input layer to an output layer, and the four GPUs areused to optimize a parameter of a node on each layer. A preset buffermay be set in each GPU, and the preset buffer is used to store data thatneeds to be exchanged with another GPU, thereby improving a speed ofexchange between the layers of the preset neural network. The data thatis exchanged with another GPU may be an output result of a correspondinglayer of a current GPU.

103: In a first matching process, the server determines M predictionwords in the multiple words according to first matching probabilities ofthe multiple words, and uses each prediction word as a predictionstatement.

The first matching probability of each of the multiple words is used toindicate a probability that the word is output when the to-be-processedstatement is input. M is an integer greater than 1, and M may be presetor changed as required, for example, M may be 3, 4, or 5. This is notlimited in this embodiment. Multiple prediction words may be determinedin one matching process, so that more potential reply statements may bemade up, thereby expanding a matching range of the reply statement, andimproving diversity of an output result.

In this embodiment, the M prediction words may be determined in thefollowing two manners:

A first manner: The M prediction words are determined in the multiplewords based on a descending order of the first matching probabilities ofthe words.

In this manner, for each of the multiple words, the to-be-processedstatement is used as an input, and the probability that the word isoutput is obtained; and the probability that the word is output is usedas the first matching probability of the word. The M prediction wordsare obtained from the multiple words based on a descending order of thefirst matching probabilities of the words. The M prediction words areprediction words that are in the multiple words and whose matchingprobabilities are ranked top M.

It is noted that, one preset function corresponds to a nodecorresponding to each word in the preset neural network, and the presetfunction is used to calculate, according to an input, a probability thatthe word corresponding to the node is output. The preset function may bepreset or modified as required. This is not limited in this embodiment.

A second manner: The M prediction words are determined in the multiplewords based on a descending order of sums of the first matchingprobabilities and second matching probabilities of the words.

In this manner, for each of the multiple words, the to-be-processedstatement is used as an input, and the probability that the word isoutput is determined as the first matching probability of the word.Subsequently, the word is used as an input, and a probability that theto-be-processed statement is output is determined as a second matchingprobability of the word. The sum of the first matching probability andthe second matching probability of each word is obtained; and the Mprediction words are determined in the multiple words based on adescending order of the sums. The M prediction words are predictionwords that are in the multiple words and that have sums ranked top M.

The process of obtaining the sum of the first matching probability andthe second matching probability of each word may be considered as aprocess of scoring each word, and a score is the sum of the firstmatching probability and the second matching probability. A higher scoreof a word indicates a higher probability that the word is output, sothat the M prediction words having highest output probabilities may bedetermined according to scores.

One of the multiple words is used as an input, and the probability thatthe to-be-processed statement is output is a sum of probabilities ofmultiple segmented words making up the to-be-processed statement. Forexample, assuming that the to-be-processed statement is “Good day”, andsegmented words making up the to-be-processed statement is “Good” and“day”, the probability that the to-be-processed statement is output is asum of a probability that “Good” is output and a probability that “day”is output.

It is noted that, in the second manner, when the M prediction words aredetermined, the probability that each word is output when theto-be-processed statement is input needs to be considered, and theprobability that the to-be-processed statement is output when each wordis input further needs to be considered, so that the determined Mprediction words and the to-be-processed statement better meet alinguistic context, thereby improving intelligence of human computerinteraction. In this embodiment, each determined prediction word is usedas a prediction statement, to facilitate description of a subsequentmatching process.

For each matching process after the first matching, the following step104 to step 106 are performed.

104: For N first prediction statements determined through previousmatching, the server determines, according to first intermediatematching probabilities of multiple intermediate statements, N secondprediction statements in the multiple intermediate statements.

Each intermediate statement is made up of any first prediction statementand any one of the multiple words. For example, if a quantity of firstprediction statements is 3, and a quantity of the multiple words is 10,one first prediction statement and the 10 words can make up 10intermediate statements, and the three first prediction statements andthe 10 words may make up 30 intermediate statements.

A first prediction statement is a prediction statement not including astatement terminator. When a prediction statement includes a statementterminator, it indicates that the prediction statement is a potentialreply statement, and a matching process for the prediction statementends.

N is an integer less than or equal to M. Specifically, N is a differencebetween M and a quantity of potential reply statements determined in aprevious matching process. To ensure that a result can be output, aprediction word determined through first matching should not be astatement terminator. Therefore, for second matching, a quantity ofpotential reply statements is 0, and N is equal to M. In this way, the Nfirst prediction statements are prediction statements corresponding tothe M prediction words. For example, if three prediction words aredetermined in the first matching process, each prediction word is usedas a prediction statement, and there are three prediction statements intotal, the three prediction statements are three first predictionstatements in the second matching process. Assuming that one potentialreply statement is determined in the second matching process, in a thirdmatching process, a quantity of potential reply statements is 1, andcorrespondingly, a quantity of first prediction statements is 2.

In this embodiment, the process of determining the N second predictionstatements in the multiple intermediate statements may include thefollowing two manners:

A first manner: The N second prediction statements are determined in themultiple intermediate statements based on a descending order of thefirst intermediate matching probabilities of the intermediatestatements. The N second prediction statements are intermediatestatements that are in the multiple intermediate statements and whoseintermediate matching probabilities are ranked top N.

In this manner, for each intermediate statement, a first predictionstatement corresponding to the intermediate statement, and theto-be-processed statement are used as an input, and a probability thatthe intermediate statement is output is determined as the firstintermediate matching probability of the intermediate statement.Subsequently, the N second prediction statements are determined in themultiple intermediate statements based on a descending order of thefirst intermediate matching probabilities.

A probability that an intermediate statement is output is a probabilitythat the last in words that make up the intermediate statement is outputwhen the first prediction statement and the to-be-processed statementare input. For example, assuming that the first prediction statement isa1, and the preset lexicon includes 10 words that are respectively w1 tow10, an intermediate statement made up of a1 and w1 is a1w1, and aprobability that a1w1 is output is a probability that w1 is output whenthe to-be-processed statement and al are input.

During specific implementation, the process of determining the N secondprediction statements may be as follows: For each first predictionstatement, N intermediate statements are determined, based on adescending order of the first intermediate matching probabilities, inintermediate statements corresponding to the first prediction statement,where corresponding to each first prediction statement, N intermediatestatements are obtained, and a total of N*N intermediate statements areobtained; then, the N second prediction statements are determined in theN*N intermediate statements based on a descending order of the firstintermediate matching probabilities. “*” indicates a multiplicationoperation.

A second manner: The N second prediction statements are determined inthe multiple intermediate statements based on a descending order of sumsof the first intermediate matching probabilities and second intermediatematching probabilities of the intermediate statements.

In this manner, for each intermediate statement, a first predictionstatement corresponding to the intermediate statement, and theto-be-processed statement are used as an input, and a probability thatthe intermediate statement is output is determined as the firstintermediate matching probability of the intermediate statement; theintermediate statement is used as an input, and a probability that theto-be-processed statement is output is determined as the secondintermediate matching probability of the intermediate statement; the sumof the first intermediate matching probability and the secondintermediate matching probability of each intermediate statement isobtained; and the N second prediction statements are determined in themultiple intermediate statements based on a descending order of thesums. The N second prediction statements are intermediate statementsthat are in the multiple intermediate statements and that have sumsranked top N.

The process of obtaining the sum of the first intermediate matchingprobability and the second intermediate matching probability of eachintermediate statement may be considered as a process of scoring eachintermediate statement, and a score is the sum of the first intermediatematching probability and the second intermediate matching probability. Ahigher score of an intermediate statement indicates a higher probabilitythat the intermediate statement is output, so that the M predictionstatements having highest output probabilities may be determinedaccording to scores.

An intermediate statement is used as an input, and the probability thatthe to-be-processed statement is output is a sum of probabilities thatmultiple segmented words making up the to-be-processed statement areoutput, and the sum of the probabilities of the multiple segmented wordsis used as a second intermediate matching probability of theintermediate statement. The process is similar to the process ofdetermining the second matching probability of each word in step 103,and details are not described herein again. Assuming that theto-be-processed statement is X, an intermediate statement is Y, a firstintermediate matching probability of Y may be indicated as P(Y|X), and asecond intermediate matching probability of Y may be indicated asP(X|Y), a score of Y may be indicated, according to a sum, as:SCORE=P(Y|X)+P(X|Y). P( ) indicates a probability, and does not indicatean specific probability calculation manner.

During specific implementation, the process of determining the N secondprediction statements may be as follows: For each first predictionstatement, N intermediate statements are determined, based on adescending order of the sums, in intermediate statements correspondingto the first prediction statement, where corresponding to each firstprediction statement, N intermediate statements are obtained, and atotal of N*N intermediate statements are obtained; and then, the Nsecond prediction statements are determined in the N*N intermediatestatements based on a descending order of the sums. “*” indicates amultiplication operation.

It is noted that, in the second manner, when the N prediction statementsare determined, the probability that each prediction statement is outputwhen the to-be-processed statement is input needs to be considered, andthe probability that the to-be-processed statement is output when eachprediction statement is input further needs to be considered, so thatthe determined N prediction statements and the to-be-processed statementbetter meet a linguistic context, thereby improving intelligence ofhuman computer interaction.

It is noted that, in this embodiment, each matching process is a processof obtaining a next prediction word through subsequent matching based ona prediction statement obtained through previous matching. In theprocess of obtaining a next prediction word through matching, theforegoing two manners may be used. A prediction word obtained throughcurrent matching and the prediction statement obtained through theprevious matching make up a current prediction statement. For example,assuming that the to-be-processed statement is “Lately it's so hot thatI will faint”, and a first prediction statement is “Take care ofyourself”, in the current matching process, based on the to-be-processedstatement and the first prediction statement, and based on the firstprediction statement, a next prediction word is obtained throughsubsequent matching. Assuming that the prediction word obtained throughcurrent matching is “dear”, a prediction statement obtained throughcurrent matching is “Take care of yourself, dear”.

In this embodiment, after the N second prediction statements aredetermined, whether a matching process for the second predictionstatement ends may be determined according to whether the secondprediction statement includes a statement terminator. For each of the Nsecond prediction statements, when the second prediction statementincludes a statement terminator, step 105 is performed; otherwise, step106 is performed.

105: For each of the N second prediction statements, the serverdetermines the second prediction statement as a potential replystatement if the second prediction statement includes a statementterminator.

For example, the first prediction statement is “Take care of yourself”.Assuming that a prediction word obtained through subsequent matchingbased on the first prediction statement is a statement terminator, asecond prediction statement made up of the first prediction statementand the statement terminator is a potential reply statement, that is,for the second prediction statement, subsequent matching does not needto be performed.

106: For each of the N second prediction statements, the server uses thesecond prediction statement as an input during next matching if thesecond prediction statement does not include a statement terminator, andcontinues to perform step 104, until second prediction statements outputin matching processes all include statement terminators, to obtain Mpotential reply statements.

For example, the first prediction statement is “Take care of yourself”.Assuming that a prediction word obtained through subsequent matchingbased on the first prediction statement is “dear”, a second predictionstatement made up of the first prediction statement and the predictionword is “Take care of yourself, dear”. Because the second predictionstatement does not include a statement terminator, step 104 continues tobe performed based on the second prediction statement, and based on thesecond prediction statement, subsequent matching is performed. If aprediction word obtained through next matching is a statementterminator, the prediction statement “Take care of yourself, dear” andthe statement terminator make up a potential reply statement “Take careof yourself, dear”.

It is noted that, after determining the M prediction words in the firstmatching process, the server performs a subsequent matching processbased on the M prediction words, to obtain the M potential replystatements. The process of determining the M potential reply statementsthrough matching is better described by using an example with referenceto FIG. 2B. In this process, when the prediction statement isdetermined, the second manner in step 104 is used. The to-be-processedstatement is “Lately it's so hot that I will faint”, M is 3, and threeprediction statements that are respectively “True”, “So”, and “Take” aredetermined in the first matching process. The three predictionstatements are three optimal results in the current matching process. Inthe second matching process, for each prediction statement, threeprediction words are obtained through subsequent matching. For example,three prediction words that match “True” are respectively “a11”, “a12”,and “indeed”, three prediction words that match “So” are respectively“b11”, “b12”, and “freaking”, and three prediction words that match“Take” are respectively “c11”, “c12”, and “care”. The predictionstatements and the prediction words are separately combined to obtainnine filtered intermediate statements. Subsequently, the nineintermediate statements are sorted. Based on a descending order of sumsof probabilities, multiple optimal results are determined in the nineintermediate statement, for example, prediction statements correspondingto the three determined optimal results are respectively “True indeed”,“Freaking hot”, and “Take care”, and the three prediction statements arethree optimal results output in the current matching process. Similarly,in the third matching process, three determined prediction statementsare respectively “True indeed” (including a statement terminator), “Sofreaking hot”, and “Take care of”, to determine that “True indeed” is apotential reply statement. In a fourth matching process, for each of thetwo prediction statements “So freaking hot” and “Take care of”, twoprediction words are obtained through subsequent matching, and finally,in the current matching process, two prediction statements aredetermined. Assuming that the two prediction statements are “So freakinghot” (including a statement terminator) and “Take care of yourself”, todetermine that “So freaking hot” is a potential reply statement. In afifth matching process, for the prediction statement “Take care ofyourself”, one prediction word is obtained through subsequent matching,and assuming that the prediction word obtained through matching is aterminator, it may be determined that “Take care of yourself” is anpotential reply statement, to obtain three potential reply statementsthat are respectively “True indeed”, “So freaking hot”, and “Take careof yourself”.

107: The server determines, according to a first matching probabilityand a second matching probability of each of M potential replystatements, a target reply statement in the M potential replystatements, the second matching probability of the potential replystatement being used to indicate a probability that the to-be-processedstatement is output when the potential reply statement is input.

The process of determining the target reply statement may be: obtaininga sum of the first matching probability and the second matchingprobability of each of the M potential reply statements; and determininga potential reply statement having a highest sum as the target replystatement.

In this embodiment, multiple potential reply statements may be sortedaccording to sums of first matching probabilities and secondprobabilities of the multiple potential reply statements, and then atarget reply statement having a highest sum may be determined in themultiple potential reply statements according to rankings of themultiple potential reply statements. Referring to the FIG. 2B example,assuming that three potential reply statements and corresponding sumsthat are output are respectively: “True indeed” and 0.5, “So freakinghot” and 0.8, and “Take care of yourself” and 0.9, rankings of the threepotential reply statements may be shown in Table 1. It may be learnedfrom Table 1 that, the potential reply statements are sorted accordingto sums for the potential reply statements, and a potential replystatement that meets a linguistic context with the to-be-processedstatement is ranked before a potential reply statement that does notmeet the linguistic context, thereby improving intelligence ofdetermining a target statement.

TABLE 1 Rankings Potential reply statement 1 Take care of yourself 2Freaking hot 3 True indeed

In addition, when an application scenario is an intelligentquestion-replying system, multiple target reply statements may bedetermined. Specifically, the server may determine a preset quantity oftarget reply statements in multiple potential reply statements based ona descending order of sums. The preset quantity may be preset orchanged. This is not limited in this embodiment.

It is noted that, if the N second prediction statements are determinedin the first manner in step 104, in this step, before obtaining the sumof the first matching probability and the second matching probability ofeach of the M potential reply statements, the server needs to determinethe second matching probability of each potential reply statement, thatis, each potential reply statement is used as an input, and aprobability that the to-be-processed statement is output is determined.If the N second prediction statements are determined in the secondmanner in step 104, because in step 104, the prediction statement isdetermined according to the first matching probability and the secondmatching probability, that is, the potential reply statement isdetermined according to the first matching probability and the secondmatching probability, in this step, the sum of first matchingprobability and the second matching probability of each potential replystatement may be directly obtained.

It is noted that, when the server is the executing body, afterdetermining the target reply statement, the server sends the targetreply statement to the terminal, and the terminal displays the targetreply statement, for example, displays the target reply statement in thehuman computer interaction interface. When the terminal is the executingbody, after determining the target reply statement, the terminal maydirectly display the target reply statement in the human computerinteraction interface. The target reply statement may be output in aform of a voice, a text, or an image. This is not limited in thisembodiment. When the output form is a voice, the target reply statementis converted into a voice for outputting. When the output form is animage, an image corresponding to the target reply statement is obtainedfrom a correspondence between an image and a text indicated by theimage, and the obtained image is output.

To further improve intelligence of a human computer interaction system,in this embodiment, the preset neural network may continue to learnaccording to a user feedback, that is, the parameter of the node in thepreset neural network is adjusted. For example, the user feedback may bea target reply statement indicating a negative output such as “What areyou talking about?”, or “The reply sounds irrelevant”, and the servermay perform statistics on such a type of user feedback and an input andoutput statement pair indicated by the user feedback, and performreversal training on the preset neural network according to an input andoutput statement pair that is obtained through statistics. For example,the input and output statement pair that is obtained through statisticsis an input statement A and an output statement B, and when a targetwhen the preset neural network is trained is the input statement A, aprobability of the output statement B is 0. The neural network continuesto learn according to the user feedback, thereby improving a learningcapability during human computer interaction, and further improvingintelligence of determining a reply statement in a human computerinteraction process.

According to the method provided in this embodiment of the presentdisclosure, for multiple potential reply statements determined inmatching processes, a final target reply statement may be determinedwith reference to a first matching probability that a potential replystatement is output when a to-be-processed statement is input and asecond matching probability that the to-be-processed statement is outputwhen the potential reply statement is input, so that the target replystatement and the to-be-processed statement better meet a linguisticcontext; and multiple prediction statements may be determined in eachmatching process, and multiple potential reply statements may bedetermined after the matching process ends, to provide diversifiedpotential reply statements and improve intelligence of determining atarget reply statement. Further, in each matching process, multipleprediction statements may be determined according to a firstintermediate matching probability and a second intermediate matchingprobability of an intermediate statement, so that in each matchingprocess, the linguistic context of the to-be-processed statement and thetarget reply statement is considered, thereby further improvingintelligence of human computer interaction.

FIG. 3 is a block diagram of a reply statement determining apparatusaccording to an embodiment of the present disclosure. Referring to FIG.3, the apparatus includes a matching module 301, a first determiningmodule 302, and a second determining module 303.

The matching module 301 is connected to the first determining module302, and is configured to perform matching between an obtainedto-be-processed statement and multiple words in a preset lexicon.

The first determining module 302 is connected to the second determiningmodule 303, and is configured to: in each matching process, for N firstprediction statements determined through previous matching, determine,according to first intermediate matching probabilities of multipleintermediate statements, N second prediction statements in the multipleintermediate statements, each intermediate statement being made up ofany first prediction statement and any one of the multiple words, andthe first intermediate matching probability of each intermediatestatement being used to indicate a probability that the intermediatestatement is output when the to-be-processed statement is input; and foreach of the N second prediction statements, determine the secondprediction statement as an potential reply statement if the secondprediction statement includes a statement terminator, or use the secondprediction statement as an input during next matching if the secondprediction statement does not include a statement terminator, andcontinue matching, until second prediction statements output in thematching processes all include statement terminators.

The second determining module 303 is configured to determine, accordingto a first matching probability and a second matching probability ofeach of M potential reply statements obtained through matching, a targetreply statement in the M potential reply statements, the second matchingprobability of the potential reply statement being used to indicate aprobability that the to-be-processed statement is output when thepotential reply statement is input. M is an integer greater than 1, andN is an integer less than or equal to M.

In an embodiment, the first determining module is configured to:

for each intermediate statement, use a first prediction statementcorresponding to the intermediate statement, and the to-be-processedstatement as an input, and determine a probability that the intermediatestatement is output, as a first intermediate matching probability of theintermediate statement; and determine N second prediction statements inthe multiple intermediate statements based on a descending order of thefirst intermediate matching probabilities; or

for each intermediate statement, use a first prediction statementcorresponding to the intermediate statement, and the to-be-processedstatement as an input, and determine a probability that the intermediatestatement is output, as a first intermediate matching probability of theintermediate statement; use the intermediate statement as an input, anddetermine a probability that the to-be-processed statement is output, asa second intermediate matching probability of the intermediatestatement; obtain a sum of the first intermediate matching probabilityand the second intermediate matching probability of each intermediatestatement; and determine the N second prediction statements in themultiple intermediate statements based on a descending order of thesums.

In an embodiment, the second determining module is configured to: obtaina sum of the first matching probability and the second matchingprobability of each of the N potential reply statements; and determine apotential reply statement having a highest sum as the target replystatement.

In an embodiment, the first determining module is further configured to:determine the M prediction words in the multiple words according tofirst matching probabilities of the multiple words, and use eachprediction word as a prediction statement if current matching is firstmatching, where the first matching probability of each word is used toindicate a probability that the word is output when the to-be-processedstatement is input.

In an embodiment, the first determining module is further configured to:

for each of the multiple words, use the to-be-processed statement as aninput, and determine the probability that the word is output, as thefirst matching probability of the word; and determine the M predictionwords in the multiple words based on a descending order of the firstmatching probabilities; or

for each of the multiple words, use the to-be-processed statement as aninput, and determine the probability that the word is output, as thefirst matching probability of the word; use the word as an input, anddetermine a probability that the to-be-processed statement is output, asa second matching probability of the word; obtain sums of the firstmatching probabilities and the second matching probabilities of themultiple words; and determine the M prediction words in the multiplewords based on a descending order of the sums.

In an embodiment, the matching module is configured to perform matchingbetween the obtained to-be-processed statement and the multiple words inthe preset lexicon by using a preset neural network.

In an embodiment, the apparatus further includes:

a processing module, configured to: in a process of training the presetneural network, perform parallel processing on sample data by usingmultiple GPUs, where the preset neural network is configured for each ofthe multiple GPUs;

a third determining module, configured to determine an average gradientobtained by processing the sample data by the multiple GPUs; and

an adjustment module, configured to adjust, according to the averagegradient, a parameter of a node in the preset neural network configuredfor the multiple GPUs.

For multiple potential reply statements determined in matchingprocesses, the apparatus provided in this embodiment of this disclosuremay determine a final target reply statement with reference to a firstmatching probability that a potential reply statement is output when ato-be-processed statement is input and a second matching probabilitythat the to-be-processed statement is output when the potential replystatement is input, so that the target reply statement and theto-be-processed statement better meet a linguistic context, to providediversified potential reply statements and improve intelligence ofdetermining a target reply statement.

It is noted that, when the reply statement determining apparatusprovided in the foregoing embodiment determines a reply statement,division of the foregoing functional modules is merely used as anexample for description, and during actual application, the foregoingfunctions may be accomplished by different functional modules asrequired, that is, the internal structure of the device is divided intodifferent functional modules, so as to accomplish all or some of thefunctions described above. In addition, the reply statement determiningapparatus provided in the foregoing embodiment belongs to the sameconcept as the embodiment of the reply statement determining method, andfor a specific implementation process thereof, refer to the methodembodiment, and details are not described herein again.

FIG. 4 is a schematic structural diagram of a terminal according to anembodiment of the present disclosure. The terminal may be configured toperform the reply statement determining method provided in the foregoingembodiments.

The terminal 400 may include components such as a radio frequency (RF)110, a memory 120 including one or more computer readable storagemediums, an input unit 130, a display unit 140, a sensor 150, an audiocircuit 160, a Wi-Fi module 170, a processor 180 including one or moreprocessing cores, and a power supply 190. A person skilled in the artmay understand that the structure of the terminal shown in FIG. 4 doesnot constitute a limitation to the terminal, and the terminal mayinclude more components or fewer components than those shown in thefigure, or some components may be combined, or a different componentdeployment may be used.

The RF circuit 110 may be configured to receive and send signals duringinformation receiving and sending or during a call. Particularly, the RFcircuit 110 receives downlink information from a base station, thendelivers the downlink information to one or more processors 180 forprocessing, and sends related uplink data to the base station.Generally, the RF circuit 110 includes, but is not limited to, anantenna, at least one amplifier, a tuner, one or more oscillators, asubscriber identity module (SIM) card, a transceiver, a coupler, a lownoise amplifier (LNA), and a duplexer. In addition, the RF circuit 110may further communicate with a network and another device throughwireless communication. The wireless communication may use anycommunication standard or protocol, including but not limited to aGlobal System for Mobile communications (GSM), a general packet radioservice (GPRS), Code Division Multiple Access (CDMA), Wideband CodeDivision Multiple Access (WCDMA), Long Term Evolution (LTE), email,Short Messaging Service (SMS), and the like.

The memory 120 may be configured to store a software program and module.The processor 180 runs the software program and module stored in thememory 120, to implement various functional applications and dataprocessing. The memory 120 may mainly include a program storage area anda data storage area. The program storage area may store an operatingsystem, an application program used by at least one function (such as asound playback function and an image display function), and the like.The data storage area may store data (such as audio data and an addressbook) created according to use of the terminal 400, and the like. Inaddition, the memory 120 may include a high-speed random access memory(RAM), and may further include a non-volatile memory, such as at leastone magnetic disk storage device, a flash memory, or other volatilesolid-state storage devices. Correspondingly, the memory 120 may furtherinclude a memory controller, to provide access of the processor 180 andthe input unit 130 to the memory 120.

The input unit 130 may be configured to receive input digit or characterinformation, and generate a keyboard, mouse, joystick, optical or trackball signal input related to the user setting and function control.Specifically, the input unit 130 may include a touch-sensitive surface131 and another input device 132. The touch-sensitive surface 131, whichis also referred to as a touchscreen or a touch panel, may collect atouch operation of a user on or near the touch-sensitive surface (suchas an operation of a user on or near the touch-sensitive surface 131 byusing any suitable object or accessory such as a finger or a stylus),and drive a corresponding connection apparatus according to a presetprogram. Optionally, the touch-sensitive surface 131 may include twoparts: a touch detection apparatus and a touch controller. The touchdetection apparatus detects a touch position of the user, detects asignal generated by the touch operation, and transfers the signal to thetouch controller. The touch controller receives touch information fromthe touch detection apparatus, converts the touch information into touchpoint coordinates, and sends the touch point coordinates to theprocessor 180. Moreover, the touch controller can receive and execute acommand sent by the processor 180. In addition, the touch-sensitivesurface 131 may be implemented in multiple types, such as a resistivetype, a capacitive type, an infrared type, and a surface acoustic wavetype. In addition to the touch-sensitive surface 131, the input unit 130may further include the another input device 132. Specifically, theanother input device 132 may include, but is not limited to, one or moreof a physical keyboard, a function key (for example, a volume controlkey or a power on/off key), a trackball, a mouse, or a joystick.

The display unit 140 may be configured to display information input bythe user or information provided for the user, and various graphicaluser interfaces of the terminal 400. The graphical user interfaces maybe composed of graphics, texts, icons, videos, and any combinationthereof. The display unit 140 may include a display panel 141.Optionally, the display panel 141 may be configured by using a liquidcrystal display (LCD), an organic light-emitting diode (OLED), or thelike. Further, the touch-sensitive surface 131 may cover the displaypanel 141. After detecting a touch operation on or near thetouch-sensitive surface 131, the touch-sensitive surface 141 transfersthe touch operation to the processor 180, to determine the type of thetouch event. Then, the processor 180 provides a corresponding visualoutput on the display panel 141 according to the type of the touchevent. Although, in FIG. 4, the touch-sensitive surface 131 and thedisplay panel 141 are used as two separate parts to implement input andoutput functions, in some embodiments, the touch-sensitive surface 131and the display panel 141 may be integrated to implement the input andoutput functions.

The terminal 400 may further include at least one sensor 150 such as anoptical sensor, a motion sensor, and other sensors. Specifically, theoptical sensor may include an ambient light sensor and a proximitysensor. The ambient light sensor may adjust luminance of the displaypanel 141 according to brightness of the ambient light. The proximitysensor may switch off the display panel 141 and/or backlight when theterminal 400 is moved to the ear. As one type of motion sensor, agravity acceleration sensor may detect magnitude of accelerations invarious directions (generally on three axes), may detect magnitude and adirection of the gravity when static, and may be applied to anapplication that recognizes the attitude of the mobile phone (forexample, switching between landscape orientation and portraitorientation, a related game, and magnetometer attitude calibration), afunction related to vibration recognition (such as a pedometer and aknock), and the like. Other sensors such as a gyroscope, a barometer, ahygrometer, a thermometer, and an infrared sensor, which may beconfigured in the terminal 400, are not described in detail herein.

The audio circuit 160, a speaker 161, and a microphone 162 may provideaudio interfaces between the user and the terminal 400. The audiocircuit 160 may convert received audio data into an electrical signaland transmit the electrical signal to the speaker 161. The speaker 161converts the electrical signal into a sound signal for output. On theother hand, the microphone 162 converts a collected sound signal into anelectrical signal. The audio circuit 160 receives the electrical signaland converts the electrical signal into audio data, and outputs theaudio data to the processor 180 for processing. Then, the processor 180sends the audio data to, for example, another terminal by using the RFcircuit 110, or outputs the audio data to the memory 120 for furtherprocessing. The audio circuit 160 may further include an earplug jack,to provide communication between a peripheral earphone and the terminal400.

Wi-Fi is a short distance wireless transmission technology. The terminal400 may help, by using the Wi-Fi module 170, the user to receive andsend e-mails, browse a web page, access streaming media, and the like,which provides wireless broadband Internet access for the user. AlthoughFIG. 4 shows the Wi-Fi circuit 170, it may be understood that the Wi-Ficircuit 170 is not a necessary component of the terminal 400. In someembodiments, the Wi-Fi circuit 170 may be omitted as long as the scopeof the essence of the present disclosure is not changed.

The processor 180 is a control center of the terminal 400, which isconnected to various parts of the entire mobile phone by using variousinterfaces and lines. By running or executing a software program and/ormodule stored in the memory 120 and invoking data stored in the memory120, the processor 180 performs various functions of the terminal 400and processes data, so as to perform overall monitoring on the mobilephone. Optionally, the processor 180 may include one or more processingcores. Preferably, the processor 180 may be integrated with anapplication processor and a modem processor. The application processormainly processes an operating system, a user interface, an applicationprogram, and the like. The modem processor mainly processes wirelesscommunication. It may be understood that the foregoing modem processormay not be integrated into the processor 180.

The terminal 400 further includes the power supply 190 (such as abattery) for supplying power to the components. Preferably, the powersupply may be logically connected to the processor 180 by using a powermanagement system, thereby implementing functions such as charging,discharging, and power consumption management by using the powermanagement system. The power supply 190 may further include one or moreof a direct current or alternating current power supply, a re-chargingsystem, a power failure detection circuit, a power supply converter orinverter, a power supply state indicator, and any other components.

Although not shown in the figure, the terminal 400 may further include acamera, a Bluetooth module, and the like. Details are not describedherein. Specifically, in this embodiment, the display unit of theterminal is a touchscreen display. The terminal further includes amemory and one or more programs. The one or more programs are stored inthe memory and configured to be executed by one or more processors. Theone or more programs include executable instructions; and the terminal400 is configured to execute the instructions, to perform the methodperformed by the terminal in the foregoing embodiment of the replystatement determining method.

In an example embodiment, a computer readable storage medium includinginstructions, for example, a memory including instructions, is furtherprovided. The instructions may be executed by a processor in a terminal,to complete the reply statement determining method in the foregoingembodiment. For example, the non-temporary computer readable storagemedium may be a read-only memory (ROM), a RAM, a CD-ROM, a magnetictape, a floppy disk, or an optical data storage device.

FIG. 5 is a block diagram of a reply statement determining apparatusaccording to an embodiment of the present disclosure. For example, theapparatus 500 may be provided as a server. Referring to FIG. 5, theapparatus 500 includes a processor 522, and a memory resource indicatedby a memory 532, used to store instructions, for example, an applicationprogram, that can be executed by the processor 522. The applicationprogram stored in the memory 532 may include one or more modules thateach corresponds to one group of instructions. In addition, theprocessor 522 is configured to execute instructions stored in the memory532, to perform the method performed by the server in the embodiment ofthe reply statement determining method:

performing matching between an obtained to-be-processed statement andmultiple words in a preset lexicon;

in each matching process, for N first prediction statements determinedthrough previous matching, determining, according to first intermediatematching probabilities of multiple intermediate statements, N secondprediction statements in the multiple intermediate statements, eachintermediate statement being made up of any first prediction statementand any one of the multiple words, and the first intermediate matchingprobability of each intermediate statement being used to indicate aprobability that the intermediate statement is output when theto-be-processed statement is input; and for each of the N secondprediction statements, determining the second prediction statement as apotential reply statement if the second prediction statement includes astatement terminator, or using the second prediction statement as aninput during next matching if the second prediction statement does notinclude a statement terminator, and continuing matching, until secondprediction statements output in the matching processes all includestatement terminators; and

determining, according to a first matching probability and a secondmatching probability of each of M potential reply statements obtainedthrough matching, a target reply statement in the M potential replystatements, the second matching probability of the potential replystatement being used to indicate a probability that the to-be-processedstatement is output when the potential reply statement is input,

M being an integer greater than 1, and N being an integer less than orequal to M.

In an embodiment, the processor is further configured to perform thefollowing step:

for each intermediate statement, using a first prediction statementcorresponding to the intermediate statement, and the to-be-processedstatement as an input, and determining a probability that theintermediate statement is output, as a first intermediate matchingprobability of the intermediate statement; and determining N secondprediction statements in the multiple intermediate statements based on adescending order of the first intermediate matching probabilities.

In an embodiment, the processor is further configured to perform thefollowing step:

for each intermediate statement, using a first prediction statementcorresponding to the intermediate statement, and the to-be-processedstatement as an input, and determining a probability that theintermediate statement is output, as a first intermediate matchingprobability of the intermediate statement; using the intermediatestatement as an input, and determining a probability that theto-be-processed statement is output, as a second intermediate matchingprobability of the intermediate statement; obtaining a sum of the firstintermediate matching probability and the second intermediate matchingprobability of each intermediate statement; and determining the N secondprediction statements in the multiple intermediate statements based on adescending order of the sums.

In an embodiment, the processor is further configured to perform thefollowing steps:

obtaining a sum of the first matching probability and the secondmatching probability of each of the N potential reply statements; and

determining a potential reply statement having a highest sum as thetarget reply statement.

In an embodiment, the processor is further configured to perform thefollowing step:

determining the M prediction words in the multiple words according tofirst matching probabilities of the multiple words, and using eachprediction word as a prediction statement if current matching is firstmatching, where the first matching probability of each word is used toindicate a probability that the word is output when the to-be-processedstatement is input.

In an embodiment, the processor is further configured to perform thefollowing step:

for each of the multiple words, using the to-be-processed statement asan input, and determining the probability that the word is output, asthe first matching probability of the word; and determining the Mprediction words in the multiple words based on a descending order ofthe first matching probabilities.

In an embodiment, the processor is further configured to perform thefollowing step:

for each of the multiple words, using the to-be-processed statement asan input, and determining the probability that the word is output, asthe first matching probability of the word; using the word as an input,and determining a probability that the to-be-processed statement isoutput, as a second matching probability of the word; obtaining sums ofthe first matching probabilities and the second matching probabilitiesof the multiple words; and determining the M prediction words in themultiple words based on a descending order of the sum.

In an embodiment, the processor is further configured to perform thefollowing step:

performing matching between the obtained to-be-processed statement andthe multiple words in the preset lexicon by using a preset neuralnetwork.

In an embodiment, the processor is further configured to perform thefollowing steps:

in a process of training the preset neural network, performing parallelprocessing on sample data by using multiple GPUs, where the presetneural network is configured for each of the multiple GPUs;

determining an average gradient obtained by processing the sample databy the multiple GPUs; and

adjusting, according to the average gradient, a parameter of a node inthe preset neural network configured for the multiple GPUs.

The apparatus 500 may further include a power supply component 526configured to perform power management on the apparatus 500, a wired orwireless network interface 550, configured to connect the apparatus 500to a network, and an input/output (I/O) interface 558. The apparatus 500may operate an operating system stored in the memory 532, for example,the Windows Server™, the Mac OS X™, the Unix™, the Linux™, or theFreeBSD™.

In an example embodiment, a computer readable storage medium is furtherprovided. A computer program is stored in the computer readable storagemedium, for example, a memory including a computer program, and whenbeing executed by the processor, the computer program implements stepsin the foregoing embodiment of the reply statement determining method.For example, the computer readable storage medium may be a ROM, a RAM, aCD-ROM, a magnetic tape, a floppy disk, or an optical data storagedevice.

A person of ordinary skill in the art may understand that all or some ofthe steps of the embodiments may be implemented by hardware or a programinstructing related hardware. The program may be stored in a computerreadable storage medium. The storage medium may include: a ROM, amagnetic disk, or an optical disc.

FIG. 6 is a diagram of an implementation environment according to anembodiment of the present disclosure. The implementation environmentincludes multiple terminals 601, and a server 602 configured to providea service to the multiple terminals. The multiple terminals 601 isconnected to the server 602 by using a wireless or wired network. Themultiple terminals 601 may be electronic devices that can access theserver 602. The electronic device may be a computer, a smartphone, atablet computer, or another electronic device. The server 602 may be oneor more website servers. The server 602 may serve as a device thatprocesses a statement. The server 602 may perform matching between astatement sent by a user that accesses the server and a preset lexicon,to determine a target reply statement, and finally return the targetreply statement to the user, to implement human computer interaction.The server may be a man-computer chat server, or may be an intelligentquestion-replying server, or the like.

FIG. 7 is a flowchart of a specific implementation method of a replystatement determining method according to an embodiment of the presentdisclosure. Referring to FIG. 7, the method is described by using anexample in which a user implements human computer interaction with aserver by using a terminal, and specifically includes the followingsteps:

701: The terminal sends a to-be-processed statement to the server.

The user may implement human computer interaction with the server byusing the terminal. For example, the user may enter a to-be-processedstatement in a form of a text in the terminal, or the user may enter ato-be-processed statement in a form of a voice in the terminal by usinga voice. After receiving the to-be-processed statement, the terminal mayperform no excessive processing, and directly send the to-be-processedstatement to the server, or when the to-be-processed statement is in aform other than a form of a text, convert the to-be-processed statementfrom another form to a form of a text, to ensure that the sentto-be-processed statement is in a form of a text.

702: The server performs, when receiving the to-be-processed statement,matching between the obtained to-be-processed statement and multiplewords in a preset lexicon, to obtain a target reply statement.

Matching in step 702 is similar to the matching process in step 103 tostep 107, and details are not described herein again. It is noted that,a human computer interaction form may be preset. For example, humancomputer interaction may be performed by using a voice, so that thetarget reply statement may be converted on a server side, to generate avoice signal and send the voice signal to the terminal; or the servermay not perform voice conversion, but send the target reply statement ina form of a text to the terminal, and the terminal generates a voicesignal based on the target reply statement and plays back the voicesignal. This is not specifically limited in this embodiment of thepresent disclosure.

703: The server returns the target reply statement to the terminal.

704: The terminal provides the target reply statement to the user.

A specific providing manner is not limited in this embodiment of thepresent disclosure. The providing manner may be a screen display manneror a voice playback manner, which needs to be performed based on aspecified human computer interaction manner.

The foregoing descriptions are merely exemplary embodiments of thepresent disclosure, but are not intended to limit the presentdisclosure. Any modification, equivalent replacement, or improvementmade without departing from the spirit and principle of the presentdisclosure shall fall within the protection scope of the presentdisclosure.

What is claimed is:
 1. A method for determining a reply statement,comprising: determining, by processing circuitry of an apparatus andbased on a preset lexicon, a plurality of potential reply statements inresponse to a statement, and a plurality of first matching probabilitiesrespectively corresponding to the plurality of potential replystatements, a first matching probability in the plurality of firstmatching probabilities indicating a probability of the correspondingpotential reply statement being output in response to the statementaccording to the preset lexicon; obtaining, by the processing circuitry,a plurality of second matching probabilities respectively correspondingto the plurality of potential reply statements, a second matchingprobability in the second matching probabilities indicating aprobability of words in the statement being output in response to thecorresponding potential reply statement according to the preset lexicon;and selecting, by the processing circuitry, one of the potential replystatements as a target reply statement according to a combination of thefirst matching probabilities and the second matching probabilities. 2.The method of claim 1, further comprising: matching, by the processingcircuitry, the statement to words in the preset lexicon to determine aplurality of matching words with the first matching probabilities;initializing, by the processing circuitry, intermediate statements,based on the plurality of matching words; repetitively matching, by theprocessing circuitry, an intermediate statement to the words in thepreset lexicon to determine additional intermediate words forcontinuously adding into the intermediate statement to grow theintermediate statement until a statement terminator is added; andfinalizing, by the processing circuitry, the intermediate statement to apotential reply statement when the statement terminator is added in theintermediate statement.
 3. The method of claim 2, further comprising:matching, by the processing circuitry, the intermediate statement to thewords in the preset lexicon to determine matching words with firstintermediate matching probabilities; and selecting, by the processingcircuitry, a subset of the matching words to add into the intermediatestatement to respectively form potential intermediate statements for anext matching, according to a sorted sequence of the first intermediatematching probabilities.
 4. The method of claim 3, further comprising:matching, by the processing circuitry, the potential intermediatestatements having respective first intermediate matching probabilitiesto the words in the preset lexicon to determine respective secondintermediate matching probabilities for matching existing words in theintermediate statement; associating, by the processing circuitry,respective sums of the first intermediate matching probabilities and thesecond intermediate matching probabilities to the potential intermediatestatements; and selecting, by the processing circuitry, a subset of thepotential intermediate statements for the next matching, according to asorted sequence of the sums.
 5. The method of claim 2, furthercomprising: matching, by the processing circuitry, the statement to thewords in the lexicon to determine potential matching words with firstintermediate matching probabilities; sorting, by the processingcircuitry, the first intermediate matching probabilities in a sequencefrom high to low; and selecting, by the processing circuitry, theplurality of matching words from the potential matching works accordingto the sorted sequence.
 6. The method of claim 5, further comprising:matching, by the processing circuitry, the potential matching words tothe words in the preset lexicon to determine second intermediatematching probabilities for matching existing words in the statement;associating, by the processing circuitry, respective sums of firstintermediate matching probabilities and second intermediate matchingprobabilities to the potential matching words; and selecting, by theprocessing circuitry, a subset of the potential matching words as theplurality of matching words according to the sorted sequence.
 7. Themethod of claim 1, further comprising: performing, by the processingcircuitry, matching operations using a preset neural network todetermine the first matching probabilities and the second matchingprobabilities.
 8. The method of claim 7, further comprising:calculating, by multiple graphics processing units (GPUs), gradientsbased on sample inputs to a neural network model and outputs of theneural network model in response to the sample inputs; determining, bythe processing circuitry, an average of the gradients; and adjusting, bythe processing circuitry, parameters of nodes in the neural networkmodel according to the average of the gradients.
 9. An apparatus fordetermining a reply statement, comprising: memory circuitry configuredto store a preset lexicon; and processing circuitry configured to:determine, based on the preset lexicon in the memory circuitry, aplurality of potential reply statements in response to a statement, anda plurality of first matching probabilities respectively correspondingto the plurality of potential reply statements, a first matchingprobability in the plurality of first matching probabilities indicatinga probability of the corresponding potential reply statement beingoutput in response to the statement according to the preset lexicon;obtain a plurality of second matching probabilities respectivelycorresponding to the plurality of potential reply statements, a secondmatching probability in the second matching probabilities indicating aprobability of words in the statement being output in response to thecorresponding potential reply statement according to the preset lexicon;and select one of the potential reply statements as a target replystatement according to a combination of the first matching probabilitiesand the second matching probabilities.
 10. The apparatus of claim 9,wherein the processing circuitry is further configured to: match thestatement to words in the preset lexicon to determine a plurality ofmatching words with the first matching probabilities; initializeintermediate statements based on the plurality of matching words;repetitively match an intermediate statement to the words in the presetlexicon to determine additional intermediate words for continuouslyadding into the intermediate statement to grow the intermediatestatement until a statement terminator is added; and finalize theintermediate statement to a potential reply statement when the statementterminator is added in the intermediate statement.
 11. The apparatus ofclaim 10, wherein the processing circuit is further configured to: matchthe intermediate statement to the words in the preset lexicon todetermine matching words with first intermediate matching probabilities;and select a subset of the matching words to add into the intermediatestatement to respectively form potential intermediate statements for anext matching, according to a sorted sequence of the first intermediatematching probabilities.
 12. The apparatus of claim 11, wherein theprocessing circuitry is further configured to: match the potentialintermediate statements having respective first intermediate matchingprobabilities to the words in the preset lexicon to determine respectivesecond intermediate matching probabilities for matching existing wordsin the intermediate statement; associate respective sums of the firstintermediate matching probabilities and the second intermediate matchingprobabilities to the potential intermediate statements; and select asubset of the potential intermediate statements for the next matching,according to a sorted sequence of the sums.
 13. The apparatus of claim10, wherein the processing circuitry is further configured to: match thestatement to the words in the lexicon to determine potential matchingwords with first intermediate matching probabilities; sort the firstintermediate matching probabilities in a sequence from high to low; andselect the plurality of matching words from the potential matching worksaccording to the sorted sequence.
 14. The apparatus of claim 13, whereinthe processing circuitry is further configured to: match the potentialmatching words to the words in the preset lexicon to determine secondintermediate matching probabilities for matching existing words in thestatement; associate respective sums of first intermediate matchingprobabilities and second intermediate matching probabilities to thepotential matching words; and select a subset of the potential matchingwords as the plurality of matching words according to the sortedsequence.
 15. The apparatus of claim 9, wherein the processing circuitryis further configured to: perform matching operations using a presetneural network to determine the first matching probabilities and thesecond matching probabilities.
 16. The apparatus of claim 15, furthercomprising: multiple graphics processing units (GPUs) configured tocalculate gradients based on sample inputs to a neural network model andoutputs of the neural network model in response to the sample inputs;and processing circuitry configured to: determine an average of thegradients calculated by the GPUs; and adjust parameters of nodes in theneural network model according to the average of the gradients.
 17. Anon-transitory computer-readable medium storing computer-readableinstructions therein which when executed by a computer cause thecomputer to perform: determining, based on a preset lexicon, a pluralityof potential reply statements in response to a statement, and aplurality of first matching probabilities respectively corresponding tothe plurality of potential reply statements, a first matchingprobability in the plurality of first matching probabilities indicatinga probability of the corresponding potential reply statement beingoutput in response to the statement according to the preset lexicon;obtaining a plurality of second matching probabilities respectivelycorresponding to the plurality of potential reply statements, a secondmatching probability in the second matching probabilities indicating aprobability of words in the statement being output in response to thecorresponding potential reply statement according to the preset lexicon;and selecting one of the potential reply statements as a target replystatement according to a combination of the first matching probabilitiesand the second matching probabilities.
 18. The non-transitorycomputer-readable medium of claim 17, wherein the storingcomputer-readable instructions which when executed by the computer causethe computer to further perform: matching the statement to words in thepreset lexicon to determine a plurality of matching words with the firstmatching probabilities; initializing intermediate statements, based onthe plurality of matching words; repetitively matching an intermediatestatement to the words in the preset lexicon to determine additionalintermediate words for continuously adding into the intermediatestatement to grow the intermediate statement until a statementterminator is added; and finalizing the intermediate statement to apotential reply statement when the statement terminator is added in theintermediate statement.
 19. The non-transitory computer-readable mediumof claim 18, wherein the storing computer-readable instructions whichwhen executed by the computer cause the computer to further perform:matching the intermediate statement to the words in the preset lexiconto determine matching words with first intermediate matchingprobabilities; and selecting a subset of the matching words to add intothe intermediate statement to respectively form potential intermediatestatements for a next matching, according to a sorted sequence of thefirst intermediate matching probabilities.
 20. The non-transitorycomputer-readable medium of claim 19, wherein the storingcomputer-readable instructions which when executed by the computer causethe computer to further perform: matching the potential intermediatestatements having respective first intermediate matching probabilitiesto the words in the preset lexicon to determine respective secondintermediate matching probabilities for matching existing words in theintermediate statement; associating respective sums of the firstintermediate matching probabilities and the second intermediate matchingprobabilities to the potential intermediate statements; and selecting asubset of the potential intermediate statements for the next matching,according to a sorted sequence of the sums.